//Author:       Miguel Dominguez & Heath Cazeau
//Date:         3/9/2011
//Class:        Software Engineering
//Project:      Jaz Interpreter
//File:         Executor.h

#ifndef EXEC_H
#define EXEC_H

#include <iostream>
#include <stack>
#include <string>
#include "MainEnvironment.h"
#include "LocalEnvironment.h"
#include "InstructionSet.h"

using namespace operations;

class Executor
{
	public:
            //Setup Main Environment
            MainEnvironment mainEnvironment;

            //Create stacks
            stack<LocalEnvironment> EnvironmentStack;
            stack<string> dataStack;

            //Pointers for maps
            map<string,int> * LMem;
            map<string,int> * RMem;

            void ExecuteInstructions ();
};
#endif
